﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Proyecto7CAD;
using Proyecto7CAD.Properties;
using System.Configuration;
using System.Data;
using System.Data.Sql;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Collections;

namespace ENProyecto7
{
    public class ENPersonaje
    {
        private int idPersonaje;
        private string tipoPersonaje;
        private int ataquePersonaje;
        private int vidaPersonaje;
        private int defensaPersonaje;
        private PersonajeCAD obj;

        public ENPersonaje(string tipo, int ataque, int vida, int defensa)
        {
            tipoPersonaje = tipo;
            ataquePersonaje = ataque;
            vidaPersonaje = vida;
            defensaPersonaje = defensa;
            obj = new PersonajeCAD();
        }

        public ENPersonaje()
        {
            idPersonaje = 0;
            tipoPersonaje = "";
            ataquePersonaje = 0;
            vidaPersonaje = 0;
            defensaPersonaje = 0;
            obj = new PersonajeCAD();
        }

        public int IdPersonaje
        {
            get { return idPersonaje; }
            set { idPersonaje = value; }
        }

        public string TipoPersonaje
        {
            get { return tipoPersonaje; }
            set { tipoPersonaje = value; }
        }

        public int VidaPersonaje
        {
            get { return vidaPersonaje; }
            set { vidaPersonaje = value; }
        }
        public int AtaquePersonaje
        {
            get { return ataquePersonaje; }
            set { ataquePersonaje = value; }
        }
        public int DefensaPersonaje
        {
            get { return defensaPersonaje; }
            set { defensaPersonaje = value; }
        }

        public void insertarPersonaje()
        {
            try
            {
                obj.insertarPersonaje(tipoPersonaje,ataquePersonaje,vidaPersonaje,defensaPersonaje);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void editarPersonaje()
        {
            try
            {
                obj.editarPersonaje(idPersonaje, tipoPersonaje, ataquePersonaje, vidaPersonaje, defensaPersonaje);
            }
            catch (Exception ex)
            {
                throw ex;
            }



        }

        // borra un objeto
        public void borrarPersonaje()
        {
            try
            {
                obj.borrarPersonaje(idPersonaje);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        // obtiene todos los objetos
        public DataSet obtenerPersonajes()
        {
            try
            {
                return obj.obtenerPersonajes();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public void obtenerPersonaje()
        {
           
            //devolver
            try
            {
                DataTable tabla = obj.obtenerPersonaje(idPersonaje);
                tipoPersonaje = tabla.Rows[0][1].ToString();
                ataquePersonaje = int.Parse(tabla.Rows[0][2].ToString());
                vidaPersonaje = int.Parse(tabla.Rows[0][3].ToString());
                defensaPersonaje = int.Parse(tabla.Rows[0][4].ToString());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public DataTable obtenerPersonajeNombre(string nombre, int vidadesde = -1, int vidahasta = -1)
        {
            try
            {
                return obj.obtenerPersonajeNombre(nombre, vidadesde, vidahasta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 
    }
}
